
// FTech_ListBoxEx.cpp : Defines the class behaviors for the application.
//

#include "stdafx.h"
#include "myDB.h"
#include "FTech_ListBoxEx.h"
#include "FTech_ListBoxExDlg.h"
#include "LoginDialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CFTech_ListBoxExApp

BEGIN_MESSAGE_MAP(CFTech_ListBoxExApp, CWinApp)
	ON_COMMAND(ID_HELP, &CWinApp::OnHelp)
END_MESSAGE_MAP()


// CFTech_ListBoxExApp construction

CFTech_ListBoxExApp::CFTech_ListBoxExApp()
{
	// support Restart Manager
	m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART;

	// TODO: add construction code here,
	// Place all significant initialization in InitInstance
}


// The one and only CFTech_ListBoxExApp object

CFTech_ListBoxExApp theApp;


// CFTech_ListBoxExApp initialization

BOOL CFTech_ListBoxExApp::InitInstance()
{
	// InitCommonControlsEx() is required on Windows XP if an application
	// manifest specifies use of ComCtl32.dll version 6 or later to enable
	// visual styles.  Otherwise, any window creation will fail.
	INITCOMMONCONTROLSEX InitCtrls;
	InitCtrls.dwSize = sizeof(InitCtrls);
	// Set this to include all the common control classes you want to use
	// in your application.
	InitCtrls.dwICC = ICC_WIN95_CLASSES;
	InitCommonControlsEx(&InitCtrls);

	CWinApp::InitInstance();

	Gdiplus::GdiplusStartupInput gdiplusStartupInput;
	Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);

	AfxEnableControlContainer();

	// Create the shell manager, in case the dialog contains
	// any shell tree view or shell list view controls.
	CShellManager *pShellManager = new CShellManager;

	// Standard initialization
	// If you are not using these features and wish to reduce the size
	// of your final executable, you should remove from the following
	// the specific initialization routines you do not need
	// Change the registry key under which our settings are stored
	// TODO: You should modify this string to be something appropriate
	// such as the name of your company or organization
	SetRegistryKey(_T("Local AppWizard-Generated Applications"));

	//init db connect object
	myDB& db = myDB::getSingleIns();
	int workingGroup = -1;
	CString wname = L"";

	LoginDialog login;
	login.pLoginDB = &db;
	login.DoModal();
	workingGroup = login.workingGroup;
	wname = login.workingName;
	CString testSet = login.testSet;


	if (workingGroup == -2) //user stop the login and quit
	{
		return false;
	}

	CFTech_ListBoxExDlg* dlg = new CFTech_ListBoxExDlg();
	dlg->pRecordDB = &db;
	dlg->workingGroup = workingGroup;
	dlg->workingName = wname;
	dlg->curTestSetId = testSet;
	m_pMainWnd = dlg;
	dlg->Create(CFTech_ListBoxExDlg::IDD, NULL);
	dlg->ShowWindow(SW_SHOW);
	dlg->MainLoop();

	// Delete the shell manager created above.
	if (pShellManager != NULL)
	{
		delete pShellManager;
	}
	delete dlg;
	// Since the dialog has been closed, return FALSE so that we exit the
	//  application, rather than start the application's message pump.
	return FALSE;
}




